/**
 * <p>Title:JsonUtil</p>
 * <P>Description:Json解析</p>
 * <p>Copyright: Shanghai Batchsight Pharmaceutical Technologies, Inc. Copyright(c) 2016</p>
 * @author HuangZhongWei and ChenWei And QianPengJi And WanShuaiShuai
 */
package cn.jhg.account.util;

import java.sql.Timestamp;

//import cn.jhg.account.date.JsonDateValueProcessor;
//import cn.jhg.account.date.TimestampMorpher;
//import cn.jhg.account.entity.authority.Authority;
//import cn.jhg.account.entity.batchOrder.OrderBom;
//import cn.jhg.account.entity.batchOrder.RecipePathResource;
//import cn.jhg.account.entity.equipment.Equipment;
//import cn.jhg.account.entity.equipment.EquipmentStatus;
//import cn.jhg.account.entity.jsonParam.JsonParam;
//import cn.jhg.account.entity.room.Room;
//import cn.jhg.account.entity.signatureDefinition.SignatureDefinition;
import cn.jhg.account.entity.User;
//import cn.jhg.account.entity.UserGroup;

import net.sf.json.JSONObject;
import net.sf.json.JsonConfig;
import net.sf.json.util.JSONUtils;

public class JsonUtil {
	
	/**
	 * <p>java对象转换为json字符串</p>
	 * @param jr	 Java对象
	 * @return jsStr Json字符串
	 */
	public static String  packaging(Object jr){
		JsonConfig jsonConfig = new JsonConfig();  
		jsonConfig.registerJsonValueProcessor(Timestamp.class, new JsonDateValueProcessor()); 
		JSONObject jo=JSONObject.fromObject(jr,jsonConfig);
		String jsStr=jo.toString();
		return jsStr;
	}	
	
//	
//	/**
//	 * <p>json字符串转换为java对象</p>
//	 * @param jsonStr	json字符串
//	 * @return jr 		java对象
//	 */
//	public static ServiceResult<String> analysisProxy(String jsonStr){
//		
//		JSONObject jsStr = JSONObject.fromObject(jsonStr);
//		ServiceResult<String> jr=(ServiceResult<String>)JSONObject.toBean(jsStr,ServiceResult.class);
//		return jr;
//	}
//	
//	
//	/**
//	 * <p>json字符串转换为java对象</p>
//	 * @param jsonStr	json字符串
//	 * @return jr 		java对象
//	 */
//	public static JsonParam analysis(Object jsonStr){
//		
//		JSONObject jsStr = JSONObject.fromObject(jsonStr);
//		JsonParam jr=(JsonParam)JSONObject.toBean(jsStr,JsonParam.class);
//		return jr;
//	}
//	
//	/**
//	 * <p>java对象转换为json字符串</p>
//	 * @param jr	 Java对象
//	 * @return jsStr Json字符串
//	 */
//	public static String  packaging(Object jr){
//		JsonConfig jsonConfig = new JsonConfig();  
//		jsonConfig.registerJsonValueProcessor(Timestamp.class, new JsonDateValueProcessor()); 
//		JSONObject jo=JSONObject.fromObject(jr,jsonConfig);
//		String jsStr=jo.toString();
//		return jsStr;
//	}
//	
//	
//	/**
//	 * <p>json字符串转换为java对象</p>
//	 * @param jsonStr	json字符串
//	 * @return jr 		java对象
//	 */
//	public static Room analysisRoom(String jsonStr){
//		
//		JSONObject jsStr = JSONObject.fromObject(jsonStr);
//		Room room=(Room)JSONObject.toBean(jsStr,Room.class);
//		return room;
//	}
//	
//	/**
//	 * <p>json字符串转换为java对象</p>
//	 * @param jsonStr	json字符串
//	 * @return jr 		java对象
//	 */
//	public static UserGroup analysisUserGroup(String jsonStr){
//		
//		JSONObject jsStr = JSONObject.fromObject(jsonStr);
//		UserGroup userGroup=(UserGroup)JSONObject.toBean(jsStr,UserGroup.class);
//		return userGroup;
//	}
//	
//	/**
//	 * <p>json字符串转换为java对象</p>
//	 * @param jsonStr	json字符串
//	 * @return jr 		java对象
//	 */
//	public static User analysisUser(String jsonStr){
//		 String[] formats = { "yyyy-MM-dd HH:mm:ss"};
//	        JSONUtils.getMorpherRegistry().registerMorpher(new TimestampMorpher(formats));
//	        JSONObject jsonObject = JSONObject.fromObject(jsonStr);
//	        return (User) JSONObject.toBean(jsonObject, User.class);
//	}
//	
//	/**
//	 * <p>java对象转换为json字符串</p>
//	 * @param jr	 Java对象
//	 * @return jsStr Json字符串
//	 */
//	
//	public static Authority analysisAuthority(String jsonStr){
//		
//		JSONObject jsStr = JSONObject.fromObject(jsonStr);
//		Authority authority=(Authority)JSONObject.toBean(jsStr,Authority.class);
//		return authority;
//	}
//    
//	
//	/**
//	 * <p>java对象转换为json字符串</p>
//	 * @param jr	 Java对象
//	 * @return jsStr Json字符串
//	 */
//	public static ServiceResult analysisProxyResult(String jsonStr){
//		 String[] formats = { "yyyy-MM-dd HH:mm:ss"};
//	     JSONUtils.getMorpherRegistry().registerMorpher(new TimestampMorpher(formats));
//	     JSONObject jsonObject = JSONObject.fromObject(jsonStr);
//	     return (ServiceResult)JSONObject.toBean(jsonObject,ServiceResult.class);
//	}
//	
//	/**
//	 * <p>java对象转换为json字符串</p>
//	 * @param jr	 Java对象
//	 * @return jsStr Json字符串
//	 */
//	public static SignatureDefinition analysisSignatureDefinition(String jsonStr){
//		JSONObject jsStr = JSONObject.fromObject(jsonStr);
//		SignatureDefinition signatureDefinition=(SignatureDefinition)JSONObject.toBean(jsStr,SignatureDefinition.class);
//		return signatureDefinition;
//	}
//	
//	/**
//	 * @param jr	 Java对象
//	 * @return jr 		java对象
//	 */
//	public static EquipmentStatus analysisEquipmentStatus(String jsonStr){
//		 String[] formats = { "yyyy-MM-dd HH:mm:ss"};
//	        JSONUtils.getMorpherRegistry().registerMorpher(new TimestampMorpher(formats));
//	        JSONObject jsonObject = JSONObject.fromObject(jsonStr);
//	        EquipmentStatus equipmentStatus =(EquipmentStatus) JSONObject.toBean(jsonObject,EquipmentStatus.class);
//	        return equipmentStatus;
//	}
//
//	/**
//	 * <p>json字符串转换为java对象</p>
//	 * @param jsonStr	json字符串
//	 * @return jr 		java对象
//	 */
//	public static Equipment analysisEquipment(String jsonStr){
//		 String[] formats = { "yyyy-MM-dd HH:mm:ss"};
//	        JSONUtils.getMorpherRegistry().registerMorpher(new TimestampMorpher(formats));
//	        JSONObject jsonObject = JSONObject.fromObject(jsonStr);
//	        return (Equipment) JSONObject.toBean(jsonObject, Equipment.class);
//	}
//	
//	public static RecipePathResource analysisRecipePathResource(String jsonStr){
//		 String[] formats = { "yyyy-MM-dd HH:mm:ss"};
//	        JSONUtils.getMorpherRegistry().registerMorpher(new TimestampMorpher(formats));
//	        JSONObject jsonObject = JSONObject.fromObject(jsonStr);
//	        return (RecipePathResource) JSONObject.toBean(jsonObject, RecipePathResource.class);
//	}
//	public static OrderBom analysisOrderBom(String jsonStr){
//		 String[] formats = { "yyyy-MM-dd HH:mm:ss"};
//	        JSONUtils.getMorpherRegistry().registerMorpher(new TimestampMorpher(formats));
//	        JSONObject jsonObject = JSONObject.fromObject(jsonStr);
//	        return (OrderBom) JSONObject.toBean(jsonObject, OrderBom.class);
//	}
}
